// Copyright 2023 Administrator
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

import { MenuTypeEnum } from "src/common/enums/menu.enum";

export class RouteBO {

    id: bigint;

    /**
     * 父菜单ID
     */
    parentId: bigint;

    /**
     * 菜单名称
     */
    name: string;

    /**
     * 菜单类型(1-菜单；2-目录；3-外链；4-按钮权限)
     */
    type: MenuTypeEnum;

    /**
     * 路由路径(浏览器地址栏路径)
     */
    path: string;

    /**
     * 组件路径(vue页面完整路径，省略.vue后缀)
     */
    component: string;

    /**
     * 权限标识
     */
    perm: string;

    /**
     * 显示状态(1:显示;0:隐藏)
     */
    visible: number;

    /**
     * 排序
     */
    sort: number;

    /**
     * 菜单图标
     */
    icon: string;

    /**
     * 跳转路径
     */
    redirect: string;

    /**
     * 拥有路由的权限
     */
    roles: string[];

    /**
     * 【目录】只有一个子路由是否始终显示(1:是 0:否)
     */
    alwaysShow: number;

    /**
     * 【菜单】是否开启页面缓存(1:是 0:否)
     */
    keepAlive: number;

}